目的
說明資料庫跟架構。
DAO處理所有與資料庫的互動。
Main處理使用者介面、資料驗證、呼叫DAO。
其實Main的資料驗證和呼叫DAO應該放在Service層 , 但我嘗試了很多次錯誤訊息就是跑不出來 , 詢問AI也找不出原因在哪 , 所以這個專案就沒有用Service層。
這個實作總共有三個DAO :
- UserDAO:使用者資料 , 使用者註冊/登入功能。
- foodDAO:管理食物的相關資訊 , 取得/新增食物功能。
- foodLog :使用者輸入的食物記錄 , 新增/查詢食物記錄、刪除/更新記錄、計算單日總熱量/總蛋白質 , 脂肪 , 碳水、取得指定日期的營養統計、查詢日期範圍內的食物記錄、匯出/入CSV檔案功能。
Main:
寫顯示選單、讀取使用者輸入 , 處理錯誤輸入。
將使用者輸入的資訊傳入DAO裡面進行資料庫操作。
總共有3個switch :
- 使用者註冊、登入。
- 食物記錄系統。
- 離開前問使用者要不要更新/刪除使用者帳號、直接退出。
switch裡每一個功能算一個case:
(裡面寫使用者互動介面、讀取輸入資訊、處理錯誤輸入)
- 使用者 :
case1 : 註冊
case2 : 登入
- 食物 :
case1 : 新增食物記錄
case2 : 查詢食物記錄
case3 : 更新食物份量
case4 : 刪除食物記錄
case5 : 計算單日總熱量
case6 : 計算單日蛋白質、脂肪、碳水
case7 : 查詢每日營養統計
case8 : 查詢日期範圍記錄與總營養
case9 : 匯出CSV記錄
case10 : 匯入CSV記錄
- 離開 :
case1 : 更新使用者
case2 : 刪除使用者
case3 : 什麼都不做直接退出
最後有寫一份README文件可以先給使用者大概瀏覽這個專案的資訊。